package model
{
	import flash.utils.Dictionary;
	import flash.utils.describeType;


	public class UnitKey
	{
		public function UnitKey()
		{
			
		}
		
		/**
		 * 单位配置集合
		 */
		public static const units:Array=[KeyGoodsUnit,KeyHeroUnit,KeyBuildingUnit];
		
		/**
		 * 英雄配置key
		 */
		public static const  KeyHeroUnit:String="HeroUnit.txt";
		
		/**
		 * 技能配置文件key
		 */
		public static const KeyAbility:String="Ability.txt";
		
		/**
		 * 技能数据配置文件key 
		 */
		public static const KeyAbilityData:String="AbilityData.txt";
		
		/**
		 * 建筑数据配置文件key 
		 */
		public static const KeyBuildingUnit:String="BuildingUnit.txt";
		
		/**
		 * 物品数据配置文件key 
		 */
		public static const KeyGoodsUnit:String="GoodsUnit.txt";
		
//		
//		/**
//		 * 解压文本为对象返回Dictionary对象
//		 */
//		public static function decompressionClassDic(data:*,key:String="",className:Class=null):Dictionary
//		{
//			var g:Object;//对像
//			var dis:XMLList=null;
//			if(className!=null)
//				dis=describeType(new className).accessor;
//			//生成对像
//			var rows:Array=data.split("\r\n");//所有行
//			var property:Array=rows[1].split("\t");//第二行
//			var columns:Array;//列
//			var dic:Dictionary=new Dictionary();
//			var p:String;//属性
//			var c:String;//值
//			var t:String;//类型
//			var accessor:*;//访问器
//			var rowStri:String;
//			
//			for(var i:int=2;i<rows.length;i++)
//			{
//				rowStri=rows[i];
//				if(rowStri.indexOf("//")!=-1)
//					continue;
//				
//				columns=rowStri.split("\t");
//				if(className==null)
//					g=new Object();
//				else
//					g=new className();
//				
//				for (var j:int=0;j<property.length;j++)
//				{
//					if(j<columns.length)
//						c=columns[j];
//					else
//						c="";
//					p=property[j];
//					
//					if(dis!=null)//如果有描述
//					{
//						accessor=dis.(@name==p);
//						if(accessor)
//						{
//							t=accessor.@type;//类型
//							if(t=="*")
//								t="Object";
//							else if(t=="")
//								g[p]=c;
//							else
//								g[p]=flash.utils.getDefinitionByName(t)(c);
//						}
//						else
//							g[p]=c;
//					}
//					else
//						g[p]=c;
//					
//				}	
//				dic[g[key]]=g;
//			}
//			
//			return dic;
//		}
		
//		public static function decompressionObjDic(data:String,key:String):Dictionary
//		{
//			var g:Object;//对像
//			var dis:XMLList=null;
////			if(className!=null)
////				dis=describeType(new className).accessor;
//			//生成对像
//			var rows:Array=data.split("\r\n");//所有行
//			var property:Array=rows[1].split("\t");//第二行
//			var columns:Array;//列
//			var dic:Dictionary=new Dictionary();
//			var p:String;//属性
//			var c:String;//值
//			var t:String;//类型
//			var accessor:*;//访问器
//			var rowStri:String;
//			
//			for(var i:int=2;i<rows.length;i++)
//			{
//				rowStri=rows[i];
//				if(rowStri.indexOf("//")!=-1)
//					continue;
//				
//				columns=rowStri.split("\t");
//				g=new Object();
//				for (var j:int=0;j<property.length;j++)
//				{
//					if(j<columns.length)
//						c=columns[j];
//					else
//						c="";
//					p=property[j];
//					
//					if(dis!=null)//如果有描述
//					{
//						accessor=dis.(@name==p);
//						if(accessor)
//						{
//							t=accessor.@type;//类型
//							if(t=="*")
//								t="Object";
//
//							g[p]=flash.utils.getDefinitionByName(t)(c);
//						}
//						else
//							g[p]=c;
//					}
//					else
//						g[p]=c;
//					
//				}	
//				dic[g[key]]=g;
//			}
//			
//			return dic;
//		}
	}
}